CS 5010: Problem Set 11

Out: Monday, April 4, 2016

Due: Monday, April 11, 2016 at 5pm.


The goal of this problem set is to give you experience with inheritance and the model-view-controller architecture.

For this problem, you will re-factor your solution for Problem Set 10 to use inheritance whenever that would simplify your design and minimize repeated code. You will also add some controls to the launcher, and should use the MVC pattern in that part of your program. (You do not have to rewrite your entire program to use the MVC pattern, although you may do that if you wish.)

Otherwise, the deliverables and instructions for this problem set are the same as for Problem Sets 09-10. As always, you must follow the design recipe, in this case the OO Design Recipe and deliverables as spelled out in Lesson 9.5 and in deliverables.html. Be sure to sync your work and fill out a Work Session Report at the end of every work session. Use the Work Session Report for PS 11.

As with problem set 10, you may submit your solution in multiple files. Your solution must include files named simulator-3.rkt, StatefulWorld.rkt, and extras.rkt.


  1. (simulator-3)
    The prospective client wants you to improve the simulator you wrote for Problem Set 10 by using inheritance. The client also wants you to add a couple of new features that will allow a user of the simulator to change the position of the launcher more easily and to change the initial velocity of DAGRs and SAGRs; the client insists these new features be added using the MVC pattern.

    Your program must include a file named simulator-3.rkt that provides exactly the same list of functions and interfaces as before, and passes all black-box tests for Problem Set 10, but adds the following behaviors:


Last modified: Mon Apr 04 2016